/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package modelo.persistencia;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import modelo.persistencia.hibernate.SessionFactoryUtil;
import modelo.persistencia.hibernate.pojo.Pista;
import org.hibernate.Query;
import org.hibernate.Session;

/**
 *
 * @author 
 */
public class PistaDAO implements IPistaDAO {


    public void create(Serializable entidad) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public Serializable read(Serializable pk) {


        Pista p = null;


        //creamos la sesión de Hibernate
        Session sesion=  SessionFactoryUtil.getInstance().openSession();
        //creamos la consulta HQL
        Query q = sesion.createQuery("from modelo.persistencia.hibernate.pojo.PistaImpl where "
                + "idPista=:id");
        q.setInteger("id", Integer.parseInt(pk.toString()));

        List resultado = q.list();
        if (resultado.size()>0){
            p = (Pista)resultado.get(0);
        }
        return (Serializable)p;
    }

    public void update(Serializable entidad) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void delete(Serializable entidad) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public List list() {

        List<Pista> pistas = new ArrayList<Pista>();
        //creamos la sesión de Hibernate
        Session sesion=  SessionFactoryUtil.getInstance().openSession();
        //creamos la query en HQL
        Query q = sesion.createQuery("from modelo.persistencia.hibernate.pojo.PistaImpl");


        //los obtenemos y los recuperamos
        List resultado = q.list();
        for (Object o : resultado) {
            Pista p = (Pista)o;
            pistas.add(p);

        }

        return pistas;
    }


}
